package org.fhnw.aigs.commons.communication; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import org.fhnw.aigs.commons.Player; /** * This message can be sent whenever the {@link org.fhnw.aigs.commons.Game#currentPlayer} was manually * changed. This message will automatically be sent to all players when the * method {@link org.fhnw.aigs.commons.Game#passTurnToNextPlayer} is being invoked. * * @author Matthias Stöckli * @version v1.0 */ @XmlRootElement(name = "PlayerChangedMessage") public class PlayerChangedMessage extends Message { /** * The player that used to be the current player */ private Player oldPlayer; /** * The new current player */ private Player newPlayer; /** * Empty constructor. This is needed for JAXB parsing. */ public PlayerChangedMessage() { } /** * Creates a new instance of PlayerChangedMessage. * * @param oldPlayer The player that used to be the current player. * @param newPlayer The new current player. */ public PlayerChangedMessage(Player oldPlayer, Player newPlayer) { this.oldPlayer = oldPlayer; this.newPlayer = newPlayer; } /** * See {@link PlayerChangedMessage#oldPlayer} */ @XmlElement(name = "OldPlayer") public Player getOldPlayer() { return oldPlayer; } /** * See {@link PlayerChangedMessage#newPlayer} */ @XmlElement(name = "NewPlayer") public Player getNewPlayer() { return newPlayer; } /** * See {@link PlayerChangedMessage#oldPlayer} */ public void setOldPlayer(Player oldPlayer) { this.oldPlayer = oldPlayer; } /** * See {@link PlayerChangedMessage#newPlayer} */ public void setNewPlayer(Player newPlayer) { this.newPlayer = newPlayer; } }